Scripting languages offer simplicity and ease of development to software developers. Script code is easy to write since scripting languages are often based on a small set of expressions and statements that are simple to learn. Software developers often use scripting languages for rapid development of applications, for example, web applications. Scripting languages may be used for server side programs or for client side programs. Examples of server side scripting languages include PHP (Personal Home Page) and examples of client side scripting languages include JAVASCRIPT.
Server side script code can be used for executing a user request received at a web server by dynamically generating web pages. Server side scripting is often used for implementation of interactive websites that interface with data stores for retrieving and storing information. The PHP scripting language allows embedding of script code with hypertext markup language (HTML). Client side script code is often used for performing simple computations on the client side rather than sending a request to the server for simple computations.
A script code can be executed by generating machine code for the script code. In multi-threaded systems, there can be multiple threads accessing the machine code from, for example, an instruction cache. As script code is modified, it is possible for portions of data in the instruction cache to become invalid since a new version of the machine code is now made available in place of the older version. But, the invalid data may not be deleted immediately upon recognizing that they are invalid since there can be other threads that maybe actively using data that are in effect invalid. Current multi-threaded systems typically lack an effective way to determine a time when the invalid data that may be accessed by one or more threads can be deleted.